macOS Docker Provider Performance, November 2023

November 30, 2023 3 min read

Edit this page
Cartoon race with three whales competing in a running race
Image generated by OpenAI's DALL-E: A whimsical, wide-format scene depicting three whales, each uniquely designed and humorously wearing athletic gear, competing in a running race.

Background

Docker providers for macOS have been getting better and faster (mostly) over time, and DDEV has recently added OrbStack and Rancher Desktop to its officially supported providers. It’s time to take a look and see what is happening with DDEV and Docker provider performance.

This test used an update of the same technique used in December 2022.

Test Methodology

The test does a Drupal 10 web install (details below), because it’s a heavy PHP-access process that exercises both the database and filesystem extensively.

Results: OrbStack Wins!

We’ll start with Mutagen enabled (ddev config --performance-mode=mutagen), which is the default for macOS. You’ll see that OrbStack has the fastest setup, but that all five of the configurations are in a similar range. You would probably be happy with any of them.

macOS Docker provider performance with Mutagen - OrbStack faster but all configurations probably fine

Now, with Mutagen disabled (ddev config --performance-mode=none), OrbStack is by far the fastest, with Docker Desktop coming next and Rancher Desktop and Colima (both configurations) looking pretty sluggish. It’s possible that OrbStack could be used without Mutagen, but I don’t have any experience with that. Colima with SSHFS definitely cannot be used without Mutagen due to consistency problems with SSHFS.

macOS Docker provider performance without Mutagen - OrbStack way faster, Colima way too slow

I should note that I’m super happy with DDEV and all of these Docker Providers and the crazy-wonderful Mutagen project that have brought such great improvements in performance. Circa 2018, a Drupal web installation without NFS or Mutagen could take 7 minutes. Now it’s 30 seconds or less. That’s amazing.

Details

I used the ddev-puppeteer project to run the tests. Want to try it against your system or configuration? I’d love to hear your results.

See the spreadsheet with the raw data

  • DDEV v1.22.5
  • Drupal 10.1.6 with Drush (ddev config --project-type=drupal10 --docroot=web --create-docroot && ddev composer create drupal/recommended-project -y && ddev composer require drush/drush && ddev start)
  • PHP 8.1
  • MacBook Air (M1, 2020), 16GB RAM, plugged in
  • Docker Desktop 4.25.2
  • Colima v0.6.6, Lima v0.18.0, QEMU 8.1.3 (colima start qemutest --cpu 4 --memory 6 --disk 100 --dns=1.1.1.1 --vm-type=qemu --mount-type=sshfs and colima start vztest --cpu=4 --memory=6 --disk=100 --mount-type=virtiofs)
  • Rancher Desktop 1.11.0
  • OrbStack 1.1.0

Summary

You’ll probably like any of these Docker providers with DDEV (using Mutagen) based on your choice of performance, maintenance characteristics, and open-source vs. commercial products. My own experience at this point is that OrbStack is providing an outstanding product at a modest price, and is also providing great support and reliable updates. The DDEV Providers Announcement explains how you can test out any of these without breaking anything on your system.